package com.itheima.autoCode.dto;

import com.itheima.autoCode.service.strategy.code.CodeGenerater;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.util.*;

@Data
public class CodeContext {

    private String generate_path = "D:\\selfData\\tmp";
    private String conf_path = "D:\\selfData\\studynote\\code-util\\src\\main\\resources";
    private String parentGroupId = "org.springframework.boot";
    private String parentArtifactId = "spring-boot-starter-parent";
    private String parentVersion = "2.2.7.RELEASE";

    private String groupId = "com.itheima";
    private String artifactId = "root";
    private String version = "1.0-SNAPSHOT";

    private String projectPrefix = "ddd";
    private String startClassName = "Application1";
    private String projectName = "ddd-root";
    private String projectDesc = "没有什么描述";
    private int projectPort = 10086;

    //代码基础包
    private List<String> packages = Arrays.asList("com", "itheima");

    //数据库基础信息
    private String url = "jdbc:mysql://118.25.183.148:3306/db2024?useUnicode=true&characterEncoding=utf-8&useSSL=false";
    private String user = "root";
    private String password = "178121";
    private List<String> tables = new ArrayList<String>(){{add("user");}};

    private ProcessParams processParams = new ProcessParams();


    @Getter
    @Setter
    public class ProcessParams{

        private String curSrcPath;
        private String curResourcesPath;
        private String curPackagePath;

        private Map<String, CodeGenerater> codeGeneraters;
        private Map<String, String> srcPathDict =new HashMap<>();
        private Map<String, String> resourcesPathDict =new HashMap<>();
        private Map<String, String> packagePathDict =new HashMap<>();

    }

}
